home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / documents / RFC / rfc1641.txt < prev    next >
Text File  |  1994-08-01  |  11KB  |  340 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                       D. Goldsmith
  8. Request for Comments: 1641                                      M. Davis
  9. Category: Experimental                                    Taligent, Inc.
  10.                                                                July 1994
  11.  
  12.  
  13.                         Using Unicode with MIME
  14.  
  15. Status of this Memo
  16.  
  17.    This memo defines an Experimental Protocol for the Internet
  18.    community.  This memo does not specify an Internet standard of any
  19.    kind.  Distribution of this memo is unlimited.
  20.  
  21. Abstract
  22.  
  23.    The Unicode Standard, version 1.1, and ISO/IEC 10646-1:1993(E)
  24.    jointly define a 16 bit character set (hereafter referred to as
  25.    Unicode) which encompasses most of the world's writing systems.
  26.    However, Internet mail (STD 11, RFC 822) currently supports only 7-
  27.    bit US ASCII as a character set. MIME (RFC 1521 and RFC 1522) extends
  28.    Internet mail to support different media types and character sets,
  29.    and thus could support Unicode in mail messages. MIME neither defines
  30.    Unicode as a permitted character set nor specifies how it would be
  31.    encoded, although it does provide for the registration of additional
  32.    character sets over time.
  33.  
  34.    This document specifies the usage of Unicode within MIME.
  35.  
  36. Motivation
  37.  
  38.    Since Unicode is starting to see widespread commercial adoption,
  39.    users will want a way to transmit information in this character set
  40.    in mail messages and other Internet media. Since MIME was expressly
  41.    designed to allow such extensions and is on the standards track for
  42.    the Internet, it is the most appropriate means for encoding Unicode.
  43.    RFC 1521 and RFC 1522 do not define Unicode as an allowed character
  44.    set, but allow registration of additional character sets.
  45.  
  46.    In addition to allowing use of Unicode within MIME bodies, another
  47.    goal is to specify a way of using Unicode that allows text which
  48.    consists largely, but not entirely, of US-ASCII characters to be
  49.    represented in a way that can be read by mail clients who do not
  50.    understand Unicode. This is in keeping with the philosophy of MIME.
  51.    Such an encoding is described in another document, "UTF-7: A Mail
  52.    Safe Transformation Format of Unicode" [UTF-7].
  53.  
  54.  
  55.  
  56.  
  57.  
  58. Goldsmith & Davis                                               [Page 1]
  59.  
  60. RFC 1641                Using Unicode with MIME                July 1994
  61.  
  62.  
  63. Overview
  64.  
  65.    Several ways of using Unicode are possible. This document specifies
  66.    both guidelines for use of Unicode within MIME, and a specific usage.
  67.    The usage specified in this document is a straightforward use of
  68.    Unicode as specified in "The Unicode Standard, Version 1.1".
  69.  
  70.    This encoding is intended for situations where sender and recipient
  71.    do not want to do a lot of processing, when the text does not consist
  72.    primarily of characters from the US-ASCII character set, or when
  73.    sender and receiver are known in advance to support Unicode.
  74.  
  75.    Another encoding is intended for situations where the text consists
  76.    primarily of US-ASCII, with occasional characters from other parts of
  77.    Unicode. This encoding allows the US-ASCII portion to be read by all
  78.    recipients without having to support Unicode. This encoding is
  79.    specified in another document, "UTF-7: A Mail Safe Transformation
  80.    Format of Unicode" [UTF-7].
  81.  
  82.    Finally, in keeping with the principles set forth in RFC 1521, text
  83.    which can be represented using the US-ASCII or ISO-8859-x character
  84.    sets should be so represented where possible, for maximum
  85.    interoperability.
  86.  
  87. Definitions
  88.  
  89.    The definition of character set Unicode:
  90.  
  91.       The 16 bit character set Unicode is defined by "The Unicode
  92.       Standard, Version 1.1". This character set is identical with the
  93.       character repertoire and coding of the international standard
  94.       ISO/IEC 10646-1:1993(E); Coded Representation Form=UCS-2;
  95.       Subset=300; Implementation Level=3.
  96.  
  97.       Note. Unicode 1.1 further specifies the use and interaction of
  98.       these character codes beyond the ISO standard. However, any valid
  99.       10646 BMP (Basic Multilingual Plane) sequence is a valid Unicode
  100.       sequence, and vice versa; Unicode supplies interpretations of
  101.       sequences on which the ISO standard is silent as to
  102.       interpretation.
  103.  
  104.       This character set is encoded as sequences of octets, two per 16-
  105.       bit character, with the most significant octet first. Text with an
  106.       odd number of octets is ill-formed.
  107.  
  108.       Rationale. ISO/IEC 10646-1:1993(E) specifies that when characters
  109.       in the UCS-2 form are serialized as octets, that the most
  110.       significant octet appear first.  This is also in keeping with
  111.  
  112.  
  113.  
  114. Goldsmith & Davis                                               [Page 2]
  115.  
  116. RFC 1641                Using Unicode with MIME                July 1994
  117.  
  118.  
  119.       common network practice of choosing a canonical format for
  120.       transmission.
  121.  
  122. General Specification of Unicode Character Sets Within MIME
  123.  
  124.    The Unicode Standard is currently at version 1.1. Although new
  125.    versions should be compatible with old implementations if an
  126.    implementation is compliant with the standard, some implementations
  127.    may choose to check the version of the character set that is being
  128.    used. In order to allow some implementations to check the version
  129.    number and allow others to ignore it, all registrations of Unicode
  130.    variants and versions for MIME usage should have MIME charset names
  131.    which conform to one of the two following patterns:
  132.  
  133.       UNICODE-major-minor
  134.       UNICODE-major-minor-variant
  135.  
  136.    Where major and minor are strings of decimal digits (0 through 9)
  137.    specifying the major and minor version number of the Unicode standard
  138.    to which the text in question conforms. In the interests of
  139.    interoperability, the lowest version number compatible with the text
  140.    should be used. The lowest acceptable version number is UNICODE-1-1,
  141.    corresponding to "The Unicode Standard, Version 1.1". The optional
  142.    trailing string "variant" describes the particular transformation
  143.    format of Unicode that the registration describes; its content is up
  144.    to the particular registration. If there is no trailing variant
  145.    string, the charset name refers to the basic two octet form of
  146.    Unicode as described in "The Unicode Standard".
  147.  
  148.    Example. A hypothetical charset which referred to the UTF-8
  149.    transformation format of Unicode/10646 (also known as UTF-2 or UTF-
  150.    FSS) might be named UNICODE-1-1-UTF-8.
  151.  
  152. Encoding Character Set Unicode Within MIME
  153.  
  154.    Character set Unicode uses 16 bit characters, and therefore would
  155.    normally be used with the Binary or Base64 content transfer encodings
  156.    of MIME. In header fields, it would normally be used with the B
  157.    content transfer encoding. The MIME character set identifier is
  158.    UNICODE-1-1.
  159.  
  160.    Example. Here is a text portion of a MIME message containing the
  161.    Japanese word "nihongo" (hexadecimal 65E5,672C,8A9E) written in Han
  162.    characters.
  163.  
  164.    Content-Type: text/plain; charset=UNICODE-1-1
  165.    Content-Transfer-Encoding: base64
  166.  
  167.  
  168.  
  169.  
  170. Goldsmith & Davis                                               [Page 3]
  171.  
  172. RFC 1641                Using Unicode with MIME                July 1994
  173.  
  174.  
  175.    ZeVnLIqe
  176.  
  177.    Example. Here is a text portion of a MIME message containing the
  178.    Unicode sequence "A<NOT IDENTICAL TO><ALPHA>." (hexadecimal
  179.    0041,2262,0391,002E)
  180.  
  181.    Content-Type: text/plain; charset=UNICODE-1-1
  182.    Content-Transfer-Encoding: base64
  183.  
  184.    AEEiYgORAC4=
  185.  
  186. Acknowledgements
  187.  
  188.    Many thanks to the following people for their contributions,
  189.    comments, and suggestions. If we have omitted anyone it was through
  190.    oversight and not intentionally.
  191.  
  192.          Glenn Adams
  193.          Harald T. Alvestrand
  194.          Nathaniel Borenstein
  195.          Lee Collins
  196.          Jim Conklin
  197.          Dave Crocker
  198.          Steve Dorner
  199.          Dana S. Emery
  200.          Ned Freed
  201.          John H. Jenkins
  202.          John C. Klensin
  203.          Valdis Kletnieks
  204.          Keith Moore
  205.          Masataka Ohta
  206.          Einar Stefferud
  207.  
  208. Security Considerations
  209.  
  210.    Security issues are not discussed in this memo.
  211.  
  212. References
  213.  
  214. [UNICODE 1.1] "The Unicode Standard, Version 1.1": Version 1.0, Volume 1
  215.               (ISBN 0-201-56788-1), Version 1.0, Volume 2 (ISBN 0-201-
  216.               60845-6), and "Unicode Technical Report #4, The Unicode
  217.               Standard, Version 1.1" (available from The Unicode
  218.               Consortium, and soon to be published by Addison-Wesley).
  219.  
  220. [ISO 10646]   ISO/IEC 10646-1:1993(E) Information Technology--Universal
  221.               Multiple-octet Coded Character Set (UCS).
  222.  
  223.  
  224.  
  225.  
  226. Goldsmith & Davis                                               [Page 4]
  227.  
  228. RFC 1641                Using Unicode with MIME                July 1994
  229.  
  230.  
  231. [UTF-7]       Goldsmith, D., and M. Davis, "UTF-7: A Mail Safe
  232.               Transformation Format of Unicode", RFC 1642, Taligent,
  233.               Inc., July 1994.
  234.  
  235. [US-ASCII]    Coded Character Set--7-bit American Standard Code for
  236.               Information Interchange, ANSI X3.4-1986.
  237.  
  238. [ISO-8859]    Information Processing -- 8-bit Single-Byte Coded Graphic
  239.               Character Sets -- Part 1: Latin Alphabet No. 1, ISO 8859-
  240.               1:1987.  Part 2: Latin alphabet No.  2, ISO 8859-2, 1987.
  241.               Part 3: Latin alphabet No. 3, ISO 8859-3, 1988.  Part 4:
  242.               Latin alphabet No.  4, ISO 8859-4, 1988.  Part 5:
  243.               Latin/Cyrillic alphabet, ISO 8859-5, 1988.  Part 6:
  244.               Latin/Arabic alphabet, ISO 8859-6, 1987.  Part 7:
  245.               Latin/Greek alphabet, ISO 8859-7, 1987.  Part 8:
  246.               Latin/Hebrew alphabet, ISO 8859-8, 1988.  Part 9: Latin
  247.               alphabet No. 5, ISO 8859-9, 1990.
  248.  
  249. [RFC822]      Crocker, D., "Standard for the Format of ARPA Internet
  250.               Text Messages", STD 11, RFC 822, UDEL, August 1982.
  251.  
  252. [RFC-1521]    Borenstein N., and N. Freed, "MIME (Multipurpose Internet
  253.               Mail Extensions) Part One:  Mechanisms for Specifying and
  254.               Describing the Format of Internet Message Bodies", RFC
  255.               1521, Bellcore, Innosoft, September 1993.
  256.  
  257. [RFC-1522]    Moore, K., "Representation of Non-Ascii Text in Internet
  258.               Message Headers" RFC 1522, University of Tennessee,
  259.               September 1993.
  260.  
  261. [UTF-8]       X/Open Company Ltd., "File System Safe UCS Transformation
  262.               Format (FSS_UTF)", X/Open Preliminary Specification,
  263.               Document Number: P316. This information also appears in
  264.               Unicode Technical Report #4, and in a forthcoming annex to
  265.               ISO/IEC 10646.
  266.  
  267.  
  268.  
  269.  
  270.  
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Goldsmith & Davis                                               [Page 5]
  283.  
  284. RFC 1641                Using Unicode with MIME                July 1994
  285.  
  286.  
  287. Authors' Addresses
  288.  
  289.    David Goldsmith
  290.    Taligent, Inc.
  291.    10201 N. DeAnza Blvd.
  292.    Cupertino, CA 95014-2233
  293.  
  294.    Phone: 408-777-5225
  295.    Fax: 408-777-5081
  296.    EMail: david_goldsmith@taligent.com
  297.  
  298.  
  299.    Mark Davis
  300.    Taligent, Inc.
  301.    10201 N. DeAnza Blvd.
  302.    Cupertino, CA 95014-2233
  303.  
  304.    Phone: 408-777-5116
  305.    Fax: 408-777-5081
  306.    EMail: mark_davis@taligent.com
  307.  
  308.  
  309.  
  310.  
  311.  
  312.  
  313.  
  314.  
  315.  
  316.  
  317.  
  318.  
  319.  
  320.  
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328.  
  329.  
  330.  
  331.  
  332.  
  333.  
  334.  
  335.  
  336.  
  337.  
  338. Goldsmith & Davis                                               [Page 6]
  339.  
  340.